OpenStack Pike : Configure Keystone#1
2017/09/03 |
Install and Configure OpenStack Identity Service (Keystone).
This example is based on the emvironment like follows.
eth0|10.0.0.30 +-----------+-----------+ | [ Control Node ] | | | | MariaDB RabbitMQ | | Memcached httpd | | Keystone | +-----------------------+ |
[1] | Add a User and Database on MariaDB for Keystone. |
[root@dlp ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
create database keystone; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on keystone.* to keystone@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on keystone.* to keystone@'%' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) exit Bye |
[2] | Install Keystone. |
[root@dlp ~]# yum --enablerepo=centos-openstack-pike,epel -y install openstack-keystone openstack-utils python-openstackclient httpd mod_wsgi
|
[3] | Configure Keystone. |
[root@dlp ~]#
vi /etc/keystone/keystone.conf # line 529: uncomment and specify Memcache server memcache_servers = 10.0.0.30:11211
# line 662: add ( MariaDB connection info ) connection = mysql+pymysql://keystone:password@10.0.0.30/keystone
[token]
# line 2715: add
provider = fernet
driver = memcache
[root@dlp ~]#
su -s /bin/bash keystone -c "keystone-manage db_sync"
# initialize keys [root@dlp ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone [root@dlp ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# define own host (controller host) [root@dlp ~]# export controller=10.0.0.30
# bootstrap keystone (replace any password you like for "adminpassword" section) [root@dlp ~]# keystone-manage bootstrap --bootstrap-password adminpassword \
--bootstrap-admin-url http://$controller:35357/v3/ \ --bootstrap-internal-url http://$controller:35357/v3/ \ --bootstrap-public-url http://$controller:5000/v3/ \ --bootstrap-region-id RegionOne |
[4] | If SELinux is enabled, change boolean settings. |
[root@dlp ~]# setsebool -P httpd_use_openstack on [root@dlp ~]# setsebool -P httpd_can_network_connect on [root@dlp ~]# setsebool -P httpd_can_network_connect_db on |
[5] | If Firewalld is running, allow ports for services. |
[root@dlp ~]# firewall-cmd --add-port={5000/tcp,35357/tcp} --permanent success [root@dlp ~]# firewall-cmd --reload success |
[6] | Enableconfig for Keystone ans start Apache httpd. |
[root@dlp ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ [root@dlp ~]# systemctl start httpd [root@dlp ~]# systemctl enable httpd |